package com.ecjtu.stadiumre_servations.entity.domain;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

/**
* 体育馆场地表
* @TableName venues
*/
@Data
public class Venue implements Serializable {

    /**
    * 场地编号（主键）
    */
    @TableId(value = "venue_id", type = IdType.INPUT)
    @NotNull(message="[场地编号（主键）]不能为空")
    @ApiModelProperty("场地编号（主键）")
    private String venueId;
    /**
    * 场地类型（如篮球场、羽毛球场）
    */
    @NotBlank(message="[场地类型（如篮球场、羽毛球场）]不能为空")
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("场地类型（如篮球场、羽毛球场）")
    @Length(max= 50,message="编码长度不能超过50")
    private String venueType;
    /**
    * 场地名称
    */
    @NotBlank(message="[场地名称]不能为空")
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("场地名称")
    @Length(max= 50,message="编码长度不能超过50")
    private String venueName;
    /**
     * 场地编号
     */
    @NotBlank(message="[场地编号]不能为空")
    @ApiModelProperty("场地名称")
    private String venueNumber;
    /**
    * 场地状态 0 禁用 1 可预约 2 已被预约
    */
    @NotNull(message="[场地状态 0 禁用 1 可预约 2 已被预约]不能为空")
    @ApiModelProperty("场地状态 0 禁用 1 可预约 2 已被预约")
    private String venueStatus;
    /**
    * 场地可预约最早时间
    */
    @NotNull(message="[场地可预约最早时间]不能为空")
    @ApiModelProperty("场地可预约最早时间")
    private LocalDateTime venueStartTime;
    /**
    * 场地可预约最晚时间
    */
    @NotNull(message="[场地可预约最晚时间]不能为空")
    @ApiModelProperty("场地可预约最晚时间")
    private LocalDateTime venueEndTime;

    private double venuePrice;
    /**
    * 场地说明
    */
    @Size(message="编码长度不能超过-1")
    @ApiModelProperty("场地说明")
    @Length(message="编码长度不能超过-1")
    private String description;
    /**
     * 场馆地址
     */
    @ApiModelProperty("场馆地址")

    private String venueAddress;
    /**
     * 图片地址
     */
    @ApiModelProperty("图片地址")

    private String pictureAddress;
}
